In distributed video processing applications, such as, for example, a network of intelligent video surveillance devices, the processing workload may vary significantly during any given time period. Over the course of a day, for example, a traffic surveillance system will typically experience rush hour peaks and nighttime lulls. Additionally, accidents or other unpredictable events may occur at any time and impact processing workload. Each component or processing node of an end-to-end video system is typically assigned a fixed set of video analysis tasks to be performed. To ensure that the system can keep up with a desired level of real-time performance, the processing nodes of an end-to-end video system are generally designed with computational capabilities and resources sufficient to meet peak demand. Such an approach, however, can be expensive and inefficient.
Although the following Detailed Description will proceed with reference being made to illustrative embodiments, many alternatives, modifications, and variations thereof will be apparent to those skilled in the art.